
/////////////////////////////////////////////////////////////////////////////////
//
//  算法 ： 冒泡排序 ，初步使用 双层 for 循环
//
/////////////////////////////////////////////////////////////////////////////////

#include<iostream>

void mySort(int arr[], int len)
{
    int tmp,isChange;
    for (int i = 0; i < len-1;i++)
    {
        isChange = 0;
        for (int j = 0; j < len-1-i;j++)
        {
            if (arr[j] > arr[j+1] )
            {
                isChange = 1;
                tmp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = tmp;
            }
        }

        std::cout<< "seq "<<i<<": ";
        for (int j = 0; j < len;j++)
        {
            std::cout << arr[j] << " " ;
        }
        std::cout << std::endl;
        if(isChange == 0)
            break;
    }
}

int main()
{
    int iarr[] = {1,2,9,5,3,8,6};
    int len = sizeof(iarr) / sizeof(iarr[0]);

    for (int i = 0; i < len;i++)
    {
        std::cout << iarr[i] << " " ;
    }
    std::cout << std::endl;
    mySort(iarr,len);
    for (int i = 0; i < len;i++)
    {
        std::cout << iarr[i] << " " ;
    }

    return EXIT_SUCCESS;
}
